Fixed ldc bug #444: Segfault when calling non-static methods from static

methods.
This commit is contained in:
Robert Clipsham
2010-12-23 22:06:55 +00:00
parent 00faa6a906
commit 3cc8569322

View File

@@ -88,7 +88,14 @@ DValue* VarExp::toElem(IRState* p)
cachedLvalue = NULL;
return new DVarValue(type, V);
}
// this is an error! must be accessed with DotVarExp
if (var->needThis())
{
error("need 'this' to access member %s", toChars());
fatal();
}
if (VarDeclaration* vd = var->isVarDeclaration())
{
Logger::println("VarDeclaration ' %s ' of type ' %s '", vd->toChars(), vd->type->toChars());
@@ -100,14 +107,6 @@ DValue* VarExp::toElem(IRState* p)
return new DConstValue(type, DtoConstBool(false));
}
#endif
// this is an error! must be accessed with DotVarExp
if (var->needThis())
{
error("need 'this' to access member %s", toChars());
fatal();
}
// _arguments
if (vd->ident == Id::_arguments && p->func()->_arguments)
{