public override ICallable GetCalled(InterpretationContext context, ExplanationPart explain)
{
ICallable retVal;
Call calledFunction = Called as Call;
if (calledFunction != null)
{
retVal = Called.GetValue(context, explain) as ICallable;
}
else
{
retVal = Called.GetCalled(context, explain);
if (retVal == null)
{
Type type = Called.GetExpressionType();
if (type != null)
{
retVal = type.CastFunction;
}
if (retVal == null)
{
retVal = Called.GetValue(context, explain) as ICallable;
}
}
}
return retVal;
}