execute_anything()
******************


FUNKTION
========

   protected mixed execute_anything(mixed fun, mixed args, ...)


DEFINIERT IN
============

   /std/util/executer.c


ARGUMENTE
=========

   mixed fun        auszufuehrende Funktion/Array/Closure ... anything
   mixed args       weitere Argumente, werden weiter uebergeben


BESCHREIBUNG
============

   Fuehrt "alles" aus:



   'fun' kann sein:
   - eine Closure
     [funcall(fun, args, ...)]
   - einen String als Funktion im Objekt
     [call_other(this_object(), fun, args, ...)]
   - ein Array mit Objekt/Objektnamen + Funktion als Aufruf der Funktion am
     Objekt/Objektnamen:
     [call_other(array[0], array[1], args...)]

   Wird execute_anything() aus dem restriction_checker gerufen, wird als
   erster Parameter immer das gepruefte Living uebergeben.


BEMERKUNGEN
===========

   Es kann sich anbieten, die gerufene Funktion mit varargs-Argumenten zu
   gestalten, damit ihr mehr Argumente uebergeben werden koennen als in der
   Funktionsdefinition angegeben sind.

   Der Restriktionspruefer (/std/restriction_checker) versteht im Falle eines
   Arrays mit Objekt/Objektnamen + Funktion auch ein Array mit mehr als 2
   Elementen. Die weiteren Elemente werden dann zu weiteren Argumenten der
   gerufenen Funktion. Hierbei wird <pl> ggf. aber als erstes Argument vor
   alle anderen eingefuegt.


SIEHE AUCH
==========

   check_restrictions, varargs

31.12.2013, Zesstra
