dotgnu-pnet-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Dotgnu-pnet-commits] CVS: pnet/engine lib_emit.c,1.11,1.12


From: Richard Baumann <address@hidden>
Subject: [Dotgnu-pnet-commits] CVS: pnet/engine lib_emit.c,1.11,1.12
Date: Sat, 12 Jul 2003 06:22:36 -0400

Update of /cvsroot/dotgnu-pnet/pnet/engine
In directory subversions:/tmp/cvs-serv3818/engine

Modified Files:
        lib_emit.c 
Log Message:
Implement remaining internal calls for TypeBuilder.


Index: lib_emit.c
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/engine/lib_emit.c,v
retrieving revision 1.11
retrieving revision 1.12
diff -C2 -r1.11 -r1.12
*** lib_emit.c  12 Jul 2003 09:49:51 -0000      1.11
--- lib_emit.c  12 Jul 2003 10:22:34 -0000      1.12
***************
*** 499,503 ****
                                                                                
 void *iface)
  {
!       /* TODO */
  }
  
--- 499,526 ----
                                                                                
 void *iface)
  {
!       ILClass *class;
!       ILToken token;
!       ILImage *image;
!       ILClass *interface;
! 
!       IL_METADATA_WRLOCK(_thread);
! 
!       class = (ILClass *)classInfo;
!       token = *((ILToken *)iface);
!       image = ILClassToImage(class);
!       if (!(interface = ILClass_FromToken(image, token)))
!       {
!               IL_METADATA_UNLOCK(_thread);
!               ILExecThreadThrowOutOfMemory(_thread);
!               return;
!       }
!       if (!(ILClassAddImplements(class, interface, token)))
!       {
!               IL_METADATA_UNLOCK(_thread);
!               ILExecThreadThrowOutOfMemory(_thread);
!               return;
!       }
! 
!       IL_METADATA_UNLOCK(_thread);
  }
  
***************
*** 551,555 ****
                                                                          void 
*parent)
  {
!       /* TODO */
  }
  
--- 574,596 ----
                                                                          void 
*parent)
  {
!       ILClass *class;
!       ILToken token;
!       ILImage *image;
!       ILClass *parentClass;
! 
!       IL_METADATA_WRLOCK(_thread);
! 
!       class = (ILClass *)classInfo;
!       token = *((ILToken *)parent);
!       image = ILClassToImage(class);
!       if (!(parentClass = ILClass_FromToken(image, token)))
!       {
!               IL_METADATA_UNLOCK(_thread);
!               ILExecThreadThrowOutOfMemory(_thread);
!               return;
!       }
!       ILClassSetParent(class, parentClass);
! 
!       IL_METADATA_UNLOCK(_thread);
  }
  
***************
*** 561,566 ****
                                                                          
ILNativeInt classInfo)
  {
!       /* TODO */
!       return 0;
  }
  
--- 602,621 ----
                                                                          
ILNativeInt classInfo)
  {
!       ILImage *image;
!       ILClass *import;
!       ILToken token;
! 
!       IL_METADATA_WRLOCK(_thread);
! 
!       image = ((ILProgramItem *)module)->image;
!       import = ILClassImport(image, (ILClass *)classInfo);
!       token = 0;
!       if (import)
!       {
!               token = ILClass_Token(import);
!       }
! 
!       IL_METADATA_UNLOCK(_thread);
!       return (ILInt32)token;
  }
  
***************
*** 572,577 ****
                                                                                
        ILNativeInt memberInfo)
  {
!       /* TODO */
!       return 0;
  }
  
--- 627,648 ----
                                                                                
        ILNativeInt memberInfo)
  {
!       ILImage *image;
!       ILMember *import;
!       ILToken token;
! 
!       IL_METADATA_WRLOCK(_thread);
! 
!       image = ((ILProgramItem *)module)->image;
!       import = ILMemberImport(image, (ILMember *)memberInfo);
!       if (!import)
!       {
!               IL_METADATA_UNLOCK(_thread);
!               ILExecThreadThrowOutOfMemory(_thread);
!               return 0;
!       }
!       token = ILMember_Token(import);
! 
!       IL_METADATA_UNLOCK(_thread);
!       return (ILInt32)token;
  }
  
***************
*** 585,589 ****
                                                                                
ILInt32 declToken)
  {
!       /* TODO */
  }
  
--- 656,688 ----
                                                                                
ILInt32 declToken)
  {
!       ILImage *image;
!       ILMethod *body;
!       ILMethod *decl;
!       ILClass *class;
! 
!       IL_METADATA_WRLOCK(_thread);
! 
!       image = ((ILProgramItem *)module)->image;
!       if (!(body = ILMethod_FromToken(image, (ILToken)bodyToken)))
!       {
!               IL_METADATA_UNLOCK(_thread);
!               ILExecThreadThrowOutOfMemory(_thread);
!               return;
!       }
!       if (!(decl = ILMethod_FromToken(image, (ILToken)declToken)))
!       {
!               IL_METADATA_UNLOCK(_thread);
!               ILExecThreadThrowOutOfMemory(_thread);
!               return;
!       }
!       class = ILMethod_Owner(decl);
!       if (!(ILOverrideCreate(class, 0, decl, body)))
!       {
!               IL_METADATA_UNLOCK(_thread);
!               ILExecThreadThrowOutOfMemory(_thread);
!               return;
!       }
! 
!       IL_METADATA_UNLOCK(_thread);
  }
  





reply via email to

[Prev in Thread] Current Thread [Next in Thread]