protected virtual unsafe MethodBuilder DefineMethod(TypeBuilder typeBuilder, BCSYM_Proc* pProc)
 {
     string name = new string(*((char**) (pProc + 12)));
     BCSYM* pSymbol = BCSYM.DigThroughNamedType(*((BCSYM* modopt(IsConst) modopt(IsConst)*) (pProc + 80)));
     Type returnType = this.GetType(typeBuilder, pSymbol);
     MethodAttributes methodAttributes = GetMethodAttributes(pProc);
     Type[] parameterTypes = this.GetParameterTypes(typeBuilder, pProc);
     return typeBuilder.DefineMethod(name, methodAttributes, returnType, parameterTypes);
 }
 protected virtual unsafe ConstructorBuilder DefineConstructor(TypeBuilder typeBuilder, BCSYM_Proc* pProc)
 {
     MethodAttributes methodAttributes = GetMethodAttributes(pProc);
     Type[] parameterTypes = this.GetParameterTypes(typeBuilder, pProc);
     return typeBuilder.DefineConstructor(methodAttributes, CallingConventions.Standard, parameterTypes);
 }