CX_ACTION_LIST::GetMessageSourceRanges
Beschreibung:
Diese Methode liefert für die übergebene Message eine Liste der Quellcodebereiche mit dem Code für die Message. Der Quellcodebereich einer Message beginnt nach dem Doppelpunkt und endet vor der nächsten Message oder der schließenden eckigen Klammer.
Der zweite Parameter gibt an, ob auch die Implementierungen aus geerbten Aktionslisten (Basismodul/-Widget) durchsucht werden sollen (TRUE), oder nicht (FALSE).
Wie in GetMessages, werden die Quellcodebereiche in der Reihenfolge vom überschreibenden zum überschriebenen (Basis-Modul) zurückgegeben. Das erste Element des Vektors entspricht also dem Code, der ausgeführt wird, denn das Widget/Modul die angegeben Message implementiert.
Die Quellcodebereiche für dynamisch kompilierte Messages (CompileActionList) werden dementsprechend ganz am Anfang des Vektors zurückgegeben. Analog zu GetSourceRange sind die Quellcodebereiche von dynamisch kompilierten Messages nur für String-Operationen gültig.
Falls die Aktionsliste die gesuchte Message nicht implementiert, dann wird ein leerer Vektor zurückgegeben.
Code-Beispiel:
Var(actionList)
Module Call(GetActionList) -> actionList
(INITIALIZE) FALSE actionList Call(GetMessageSourceRanges) #
0 Swap GetElement // CX_FILE_SOURCE_RANGE(...)
FALSE Swap Call(Read) // "...."
Stack | Position | Objekttyp | Kurzbeschreibung |
---|---|---|---|
Stack(In) | Top | CX_ACTION_LIST | Die Aktionsliste |
TRUE | FALSE | Sollen geerbte Aktionslisten auch durchsucht werden? | ||
INTEGER | Die Message, deren Implementierungen gesucht werden | ||
Stack(Out) | Top | VECTOR<CX_FILE_SOURCE_RANGE> | Die Quellcodebereiche der Message-Implementierung |