forked from OSchip/llvm-project
				
			
		
			
				
	
	
		
			76 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C++
		
	
	
	
			
		
		
	
	
			76 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 ()}
 | 
						|
};
 |