Lade...
 

CX_ACTION_LIST::GetMessageSourceRanges

CX_ACTION_LIST::GetMessageSourceRanges

230295
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:
// Retrieve the source code of the implementation of the INITIALIZE message
Var(actionList)
Module Call(GetActionList) -> actionList
(INITIALIZE) FALSE actionList Call(GetMessageSourceRanges) #
0 Swap GetElement      // CX_FILE_SOURCE_RANGE(...)
FALSE Swap Call(Read)  // "...."
Stack
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
Funktionsaufruf: Call(GetMessageSourceRanges)