mirror of
https://github.com/ldc-developers/ldc.git
synced 2025-05-03 00:20:40 +03:00
Fixed classinfo.interfaces for .. interfaces!
This commit is contained in:
parent
4567a55f7f
commit
575038bfbd
5 changed files with 54 additions and 13 deletions
|
@ -58,18 +58,22 @@ void DtoResolveClass(ClassDeclaration* cd)
|
|||
// emit the ClassZ symbol
|
||||
LLGlobalVariable* ClassZ = irstruct->getClassInfoSymbol();
|
||||
|
||||
// emit the interfaceInfosZ symbol if necessary
|
||||
if (cd->vtblInterfaces && cd->vtblInterfaces->dim > 0)
|
||||
irstruct->getInterfaceArraySymbol(); // initializer is applied when it's built
|
||||
|
||||
// interface only emit typeinfo and classinfo
|
||||
if (!cd->isInterfaceDeclaration())
|
||||
if (cd->isInterfaceDeclaration())
|
||||
{
|
||||
irstruct->initializeInterface();
|
||||
}
|
||||
else
|
||||
{
|
||||
// emit the initZ symbol
|
||||
LLGlobalVariable* initZ = irstruct->getInitSymbol();
|
||||
// emit the vtblZ symbol
|
||||
LLGlobalVariable* vtblZ = irstruct->getVtblSymbol();
|
||||
|
||||
// emit the interfaceInfosZ symbol if necessary
|
||||
if (cd->vtblInterfaces && cd->vtblInterfaces->dim > 0)
|
||||
irstruct->getInterfaceArraySymbol(); // initializer is applied when it's built
|
||||
|
||||
// perform definition
|
||||
if (needs_def)
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue