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");