Changeset 290 for trunk/idl-compiler/ih-emitter_c
- Timestamp:
- Apr 1, 2007, 3:50:13 PM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/idl-compiler/ih-emitter_c/ih_file_emitter.c
r280 r290 237 237 } 238 238 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); 243 241 fprintf(fh, " NOMLINK impl_%s_%s(%s* nomSelf,\n", pif->chrName, pom->chrName, pif->chrName); 244 242 /* Do parameters */ … … 331 329 } 332 330 } 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 345 331 346 332 static void emitParentClasses(PPARSEINFO pLocalPI, PINTERFACE pif) … … 432 418 else if(!strcmp(piv->chrType, "gdouble")) 433 419 ulRet+=sizeof(gdouble); 420 else if(!strcmp(piv->chrType, "string")) 421 ulRet+=sizeof(gpointer); 434 422 else 435 423 /* Check if it's an interface */ … … 566 554 if(!strcmp(pif->chrSourceFileName, pLocalPI->chrRootSourceFile)) 567 555 { 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) 574 558 { 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.