Mercurial > projects > ldc
comparison gen/toir.cpp @ 837:331a176c1f4f
Removed error on naked, not fully complete, but I'll be doing more work on it during this Christmas, and some things do work.
Fixed taking delegate of final class method. see mini/delegate3.d.
author | Tomas Lindquist Olsen <tomas.l.olsen@gmail.com> |
---|---|
date | Tue, 09 Dec 2008 14:07:30 +0100 |
parents | 14c3319ac1bb |
children | 217e8c719a2f |
comparison
equal
deleted
inserted
replaced
836:14c3319ac1bb | 837:331a176c1f4f |
---|---|
1968 LLValue* castcontext = DtoBitCast(uval, int8ptrty); | 1968 LLValue* castcontext = DtoBitCast(uval, int8ptrty); |
1969 | 1969 |
1970 Logger::println("func: '%s'", func->toPrettyChars()); | 1970 Logger::println("func: '%s'", func->toPrettyChars()); |
1971 | 1971 |
1972 LLValue* castfptr; | 1972 LLValue* castfptr; |
1973 if (func->isVirtual()) | 1973 if (func->isVirtual() && !func->isFinal()) |
1974 castfptr = DtoVirtualFunctionPointer(u, func); | 1974 castfptr = DtoVirtualFunctionPointer(u, func); |
1975 else if (func->isAbstract()) | 1975 else if (func->isAbstract()) |
1976 assert(0 && "TODO delegate to abstract method"); | 1976 assert(0 && "TODO delegate to abstract method"); |
1977 else if (func->toParent()->isInterfaceDeclaration()) | 1977 else if (func->toParent()->isInterfaceDeclaration()) |
1978 assert(0 && "TODO delegate to interface method"); | 1978 assert(0 && "TODO delegate to interface method"); |