Ignore:
Timestamp:
Apr 1, 2007, 3:50:13 PM (18 years ago)
Author:
cinc
Message:

Hunting bugs...

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/idl-compiler/ih-emitter_c/ih_file_emitter.c

    r280 r290  
    237237        }
    238238
    239       fprintf(fh, "NOM_Scope %s", pm->mpReturn.chrType);
    240       for(b=0;b<pm->mpReturn.uiStar;b++)
    241         fprintf(fh, "*");
    242 
     239      fprintf(fh, "NOM_Scope ");
     240      emitReturnType(pLocalPI, pif, pm);
    243241      fprintf(fh, " NOMLINK impl_%s_%s(%s* nomSelf,\n", pif->chrName, pom->chrName, pif->chrName);
    244242      /* Do parameters */
     
    331329    }
    332330}
    333 
    334 static void emitClassId(PPARSEINFO pLocalPI, PINTERFACE pif)
    335 {
    336   FILE* fh=pLocalPI->outFile;
    337 
    338   if(pif->chrMetaClass)
    339     {
    340       fprintf(fh, "/* Identify this class */\n");
    341       fprintf(fh, "static char * nomIdString_%s = \"%s\";\n\n", pif->chrName, pif->chrName);
    342     }
    343 }
    344 
    345331
    346332static void emitParentClasses(PPARSEINFO pLocalPI, PINTERFACE pif)
     
    432418      else if(!strcmp(piv->chrType, "gdouble"))
    433419        ulRet+=sizeof(gdouble);
     420      else if(!strcmp(piv->chrType, "string"))
     421        ulRet+=sizeof(gpointer);
    434422      else
    435423        /* Check if it's an interface */
     
    566554      if(!strcmp(pif->chrSourceFileName, pLocalPI->chrRootSourceFile))
    567555        {
    568           gchar*  chrTemp;
    569 
    570           //printInterface(pif);
    571          
    572           chrTemp=g_strconcat(pif->chrFileStem, ".ih", NULL);
    573           if((pLocalPI->outFile=openOutfile(gScanner, chrTemp))!=NULLHANDLE)
     556          /* Only interfaces which are fully defined. No forwarder */
     557          if(!pif->fIsForwardDeclaration)
    574558            {
    575               emitIHFileHeader(pLocalPI, pif);
    576               emitInstanceVariables(pLocalPI, pif);
    577               emitGetDataMacros(pLocalPI, pif);
    578               emitIHClassDataStructs(pLocalPI, pif);
    579               emitNewMethods(pLocalPI, pif);
    580               emitOverridenMethods(pLocalPI, pif);
    581               emitOverridenMethodTable(pLocalPI, pif);
    582               emitStaticMethodTable(pLocalPI, pif);
    583               emitMetaClass(pLocalPI, pif);
    584               emitClassId(pLocalPI, pif);
    585               emitParentClasses(pLocalPI, pif);
    586               emitStaticClassInfo(pLocalPI, pif);
    587               emitClassCreationFunc(pLocalPI, pif);
    588 
    589               emitIHFileFooter(pLocalPI, pif);
    590             }
    591           g_free(chrTemp);
    592         }
    593     }
    594 }
    595 
    596 
     559              gchar*  chrTemp;
     560
     561              //printInterface(pif);
     562              chrTemp=g_strconcat(pif->chrFileStem, ".ih", NULL);
     563              if((pLocalPI->outFile=openOutfile(gScanner, chrTemp))!=NULLHANDLE)
     564                {
     565                  emitIHFileHeader(pLocalPI, pif);
     566                  emitInstanceVariables(pLocalPI, pif);
     567                  emitGetDataMacros(pLocalPI, pif);
     568                  emitIHClassDataStructs(pLocalPI, pif);
     569                  emitNewMethods(pLocalPI, pif);
     570                  emitOverridenMethods(pLocalPI, pif);
     571                  emitOverridenMethodTable(pLocalPI, pif);
     572                  emitStaticMethodTable(pLocalPI, pif);
     573                  emitMetaClass(pLocalPI, pif);
     574                  emitParentClasses(pLocalPI, pif);
     575                  emitStaticClassInfo(pLocalPI, pif);
     576                  emitClassCreationFunc(pLocalPI, pif);
     577                 
     578                  emitIHFileFooter(pLocalPI, pif);
     579                }
     580              g_free(chrTemp);
     581            }/* fIsForwardDeclaration */
     582        }
     583    }
     584}
     585
     586
Note: See TracChangeset for help on using the changeset viewer.