f4a2713ac8
Change-Id: Ia40e9ffdf29b5dab2f122f673ff6802a58bc690f
75 lines
1.5 KiB
C++
75 lines
1.5 KiB
C++
// RUN: %clang_cc1 -emit-llvm %s -o - -triple i386-apple-macosx10.7.2
|
|
// PR1084
|
|
|
|
extern "C"
|
|
{
|
|
typedef unsigned char PRUint8;
|
|
typedef unsigned int PRUint32;
|
|
}
|
|
typedef PRUint32 nsresult;
|
|
struct nsID
|
|
{
|
|
};
|
|
typedef nsID nsIID;
|
|
class nsISupports
|
|
{
|
|
};
|
|
extern "C++"
|
|
{
|
|
template < class T > struct nsCOMTypeInfo
|
|
{
|
|
static const nsIID & GetIID ()
|
|
{
|
|
}
|
|
};
|
|
}
|
|
|
|
class nsIDOMEvent:public nsISupports
|
|
{
|
|
};
|
|
class nsIDOMEventListener:public nsISupports
|
|
{
|
|
public:static const nsIID & GetIID ()
|
|
{
|
|
}
|
|
virtual nsresult
|
|
__attribute__ ((regparm (0), cdecl)) HandleEvent (nsIDOMEvent * event) =
|
|
0;
|
|
};
|
|
class nsIDOMMouseListener:public nsIDOMEventListener
|
|
{
|
|
public:static const nsIID & GetIID ()
|
|
{
|
|
static const nsIID iid = {
|
|
};
|
|
}
|
|
virtual nsresult
|
|
__attribute__ ((regparm (0),
|
|
cdecl)) MouseDown (nsIDOMEvent * aMouseEvent) = 0;
|
|
};
|
|
typedef
|
|
typeof (&nsIDOMEventListener::HandleEvent)
|
|
GenericHandler;
|
|
struct EventDispatchData
|
|
{
|
|
PRUint32 message;
|
|
GenericHandler method;
|
|
PRUint8 bits;
|
|
};
|
|
struct EventTypeData
|
|
{
|
|
const EventDispatchData *events;
|
|
int numEvents;
|
|
const nsIID *iid;
|
|
};
|
|
static const EventDispatchData sMouseEvents[] = {
|
|
{
|
|
(300 + 2),
|
|
reinterpret_cast < GenericHandler > (&nsIDOMMouseListener::MouseDown),
|
|
0x01}
|
|
};
|
|
static const EventTypeData sEventTypes[] = {
|
|
{
|
|
sMouseEvents, (sizeof (sMouseEvents) / sizeof (sMouseEvents[0])),
|
|
&nsCOMTypeInfo < nsIDOMMouseListener >::GetIID ()}
|
|
};
|