public final function MapMethodCallExpression(Expression $ObjectValueExpression = null, $Name, array $ArgumentValueExpressions = [])
{
$MapperMethodName = $Name;
if (strpos($Name, '__') === 0) {
$MapperMethodName = $this->ClassType . $Name;
}
if (!method_exists($this, $MapperMethodName)) {
throw new \Storm\Core\NotSupportedException('Data type does not support method %s::%s', $this->ClassType, $Name);
}
$IsStatic = $ObjectValueExpression === null;
if ($IsStatic) {
return $this->{$MapperMethodName}($ArgumentValueExpressions);
} else {
return $this->{$MapperMethodName}($ObjectValueExpression, $ArgumentValueExpressions);
}
}