1 // RUN: %llvmgxx %s -emit-llvm -S -o -
6 typedef unsigned char PRUint8;
7 typedef unsigned int PRUint32;
9 typedef PRUint32 nsresult;
19 template < class T > struct nsCOMTypeInfo
21 static const nsIID & GetIID ()
27 class nsIDOMEvent:public nsISupports
30 class nsIDOMEventListener:public nsISupports
32 public:static const nsIID & GetIID ()
36 __attribute__ ((regparm (0), cdecl)) HandleEvent (nsIDOMEvent * event) =
39 class nsIDOMMouseListener:public nsIDOMEventListener
41 public:static const nsIID & GetIID ()
43 static const nsIID iid = {
47 __attribute__ ((regparm (0),
48 cdecl)) MouseDown (nsIDOMEvent * aMouseEvent) = 0;
51 typeof (&nsIDOMEventListener::HandleEvent)
53 struct EventDispatchData
56 GenericHandler method;
61 const EventDispatchData *events;
65 static const EventDispatchData sMouseEvents[] = {
68 reinterpret_cast < GenericHandler > (&nsIDOMMouseListener::MouseDown),
71 static const EventTypeData sEventTypes[] = {
73 sMouseEvents, (sizeof (sMouseEvents) / sizeof (sMouseEvents[0])),
74 &nsCOMTypeInfo < nsIDOMMouseListener >::GetIID ()}