blob: c5213604d34a4ac01e781c51909b90fc31a308bd [file] [log] [blame]
MG Mud User88f12472016-06-24 23:31:02 +02001SYNOPSIS
Zesstrad59c3892019-11-28 20:53:39 +01002 #include <functionlist.h>
MG Mud User88f12472016-06-24 23:31:02 +02003
Zesstrad59c3892019-11-28 20:53:39 +01004 mixed function_exists(string str)
5 mixed function_exists(string str, int flags)
6 mixed function_exists(string str, object ob)
7 mixed function_exists(string str, object ob, int flags)
MG Mud User88f12472016-06-24 23:31:02 +02008
Zesstrad59c3892019-11-28 20:53:39 +01009BESCHREIBUNG
10 Sucht eine Funktion <str> im aktuellen Objekt bzw. im Objekt <ob>. Je
11 nach den angegeben <flags> werden folgende Informationen angezeigt:
12
13 FEXISTS_PROGNAME (0, default):
14 Liefert den Namen des Programms, in dem die Funktion definiert ist.
15 Das kann entweder der Objektname object_name(ob) sein, oder der
16 Name eines geerbten Programms. Wenn der Driver nicht im Compat-Modus
17 laeuft, beginnt der Name immer mit einem '/'.
18
19 FEXISTS_FILENAME (1):
20 Liefert den Namen der Datei, in der die Funktion definiert ist. Das
21 kann auch ein Inlcude-File sein. Wenn der Driver nicht im Compat-
22 Modus laeuft, beginnt der Name mit einem '/'.
23
24 FEXISTS_LINENO (2):
25 Liefert die Zeilennummer im Quellcode, in der die Funktion definiert
26 wird.
27
28 FEXISTS_ALL (3):
29 Liefert ein Array mit der gesamten Information der anderen Flags,
30 sowie zusaetzlichen Informationen ueber die Funktion:
31
32 string [FEXISTS_PROGNAME]: der Programmname
33 string [FEXISTS_FILENAME]: der Dateiname
34 int [FEXISTS_LINENO]: die Zeilennummer
35 int [FEXISTS_NUMARG]: die Anzahl der Funktionsargumente
36 int [FEXISTS_TYPE]: der Ergebnistyp der Funktion
37 int [FEXISTS_FLAGS]: die Funktionsflags
38
39 <flags> kann mit einem binaren Oder mit NAME_HIDDEN ergaenzt
40 werden, um Informationen ueber als static und protected deklarierte
41 Funktionen in anderen Objekten zu erhalten. Es ist nicht moeglich,
42 Informationen ueber als private deklarierte Funktionen zu erhalten.
43
44 Wenn die gesuchte Funktion nicht gefunden werden kann (weil sie
45 nicht existiert oder fuer den Aufrufer nicht sichtbar ist), dann
46 wird als Rueckgabewert 0 geliefert.
47
48
49BEISPIELE
50 function_exists("create");
51 function_exists("create", that_object, NAME_HIDDEN|FEXISTS_ALL);
52
53GESCHICHTE
54 LDMud 3.2.10 erweiterte die Menge der zurueck gelieferten Werte und
55 fuehrte das <flags> Argument ein.
56 LDMud 3.2.12/3.3.713 fuegte die zusaetzliche Funktionsinformation zum
57 FEXISTS_ALL Ergebnis hinzu.
58
59SIEHE AUCH
60 call_other(E), call_resolved(E), functionlist(E), variable_exists(E)