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 ()}