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.8,1.9


From: Richard Baumann <address@hidden>
Subject: [Dotgnu-pnet-commits] CVS: pnet/engine lib_emit.c,1.8,1.9
Date: Fri, 11 Jul 2003 07:33:29 -0400

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

Modified Files:
        lib_emit.c 
Log Message:
Implement _IL_TypeBuilder_ClrTypeCreate in engine/lib_emit.c.


Index: lib_emit.c
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnet/engine/lib_emit.c,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -r1.8 -r1.9
*** lib_emit.c  3 Jun 2003 06:17:10 -0000       1.8
--- lib_emit.c  11 Jul 2003 11:33:27 -0000      1.9
***************
*** 366,383 ****
  
  /*
!  * private static IntPtr ClrTypeCreate(IntPtr module, String name,
!  *                                                                       
String nspace, TypeAttributes attr,
!  *                                                                       
TypeToken parent);
   */
  ILNativeInt _IL_TypeBuilder_ClrTypeCreate(ILExecThread *_thread,
!                                                                               
  ILNativeInt module,
!                                                                               
  ILNativeInt nestedParent,
!                                                                               
  ILString *name,
!                                                                               
  ILString *nspace,
!                                                                               
  ILInt32 attr,
!                                                                               
  void *parent)
  {
!       /* TODO */
!       return 0;
  }
  
--- 366,426 ----
  
  /*
!  * private static IntPtr ClrTypeCreate(IntPtr module, IntPtr scope,
!  *                                     String name, String nspace,
!  *                                     TypeAttributes attr, TypeToken parent);
   */
  ILNativeInt _IL_TypeBuilder_ClrTypeCreate(ILExecThread *_thread,
!                                           ILNativeInt module,
!                                           ILNativeInt nestedParent,
!                                           ILString *name,
!                                           ILString *nspace,
!                                           ILInt32 attr,
!                                           void *parent)
  {
!       ILImage *image;
!       ILToken token;
!       ILProgramItem *scope;
!       const char *typeName;
!       const char *nameSpace;
!       ILClass *baseClass;
!       ILClass *retval;
! 
!       IL_METADATA_WRLOCK(_thread);
! 
!       image = ((ILProgramItem *)module)->image;
!       token = (ILToken)parent;
!       if (!(scope = (ILProgramItem *)nestedParent) &&
!           !(scope = ILClassGlobalScope(image)))
!       {
!               IL_METADATA_UNLOCK(_thread);
!               ILExecThreadThrowOutOfMemory(_thread);
!               return 0;
!       }
!       if (!(typeName = (const char *)ILStringToAnsi(_thread, name)))
!       {
!               IL_METADATA_UNLOCK(_thread);
!               ILExecThreadThrowOutOfMemory(_thread);
!               return 0;
!       }
!       if (nspace && !(nameSpace = (const char *)ILStringToAnsi(_thread, 
nspace)))
!       {
!               IL_METADATA_UNLOCK(_thread);
!               ILExecThreadThrowOutOfMemory(_thread);
!               return 0;
!       }
!       if (!(baseClass = ILClass_FromToken(image, token)))
!       {
!               IL_METADATA_UNLOCK(_thread);
!               ILExecThreadThrowOutOfMemory(_thread);
!               return 0;
!       }
! 
!       if ((retval = ILClassCreate(scope, token, typeName, nameSpace, 
baseClass)))
!       {
!               ILClassSetAttrs(retval, (ILUInt32)-1, (ILUInt32)attr);
!       }
! 
!       IL_METADATA_UNLOCK(_thread);
!       return (ILNativeInt)retval;
  }
  





reply via email to

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