Datenzeichenfolgenformat 'methodLineTables'

Die Zeichenfolge 'methodLineTables' codiert eine Tabelle mit einem Eintrag für jede ausführbare Einheit einer Klasse.

Der Wert eines jeden Eintrags in der Tabelle 'methodLineTables' ist die Zeilennummer (in der Quelldatei benannt durch die Datenzeichenfolge 'classSourceFile') für die entsprechende ausführbare Einheit. Die Eintragsnummer fünf in der Tabelle beispielsweise gibt die Zeilennummer für die ausführbare Einheit Nummer fünf an.

Nachfolgend ein Beispiel für eine methodLineTables-Zeichenfolge:
#51+1201#75+11,41
So interpretieren Sie die Zeichenfolge:
  • Die Ziffern direkt nach einem Nummernzeichen ("#") stellen eine vollständige Zeilennummer im Quellcode für eine Klasse dar. Im Beispiel befindet sich die erste ausführbare Einheit in der ersten Methode in der Klasse in Zeile 51.
  • Jede einzelne Ziffer, die einem Pluszeichen ("+") folgt, stellt die Anzahl der Zeilen dar, die zur vorherigen Zeilennummer addiert werden muss, um die Zeilennummer der nächsten ausführbaren Einheit zu erhalten. Im Beispiel werden die Ziffern nach dem Pluszeichen (+1201) dazu verwendet, die Zeilennummern für die zweite bis fünfte ausführbare Einheit zu berechnen:
    1. 51 + 1 = die Zeilennummer der zweiten ausführbaren Einheit: 52
    2. 52 + 2 = die Zeilennummer der dritten ausführbaren Einheit: 54
    3. 54 + 0 = die Zeilennummer der vierten ausführbaren Einheit: 54 (zwei ausführbare Einheiten in einer Quellenzeile)
    4. 54 + 1 = die Zeilennummer der fünften ausführbaren Einheit: 55
  • Wenn der Schritt zur nächsten Zeilennummer negativ oder größer als neun ist, so wird die vollständige Zeilennummer der ausführbaren Einheit angegeben. Im Beispiel befindet sich die sechste ausführbare Einheit in Zeile 75, was 20 Zeilen weiter ist, als die vorherige Zeile, 55. In diesem Fall wird die vollständige Zeilennummer für die sechste ausführbare Einheit angegeben und die relative Zeilennummerberechnung beginnt aufs Neue (#75+11):
    1. 75 = die sechste Zeilennummer der ausführbaren Einheit
    2. 75 + 1 = die Zeilennummer der siebten ausführbaren Einheit: 76
    3. 76 + 1 = die Zeilennummer der achten ausführbaren Einheit: 77
  • Ein Komma (",") markiert das Ende einer Methode und den Beginn der nächsten. Die Ziffern und Symbole nach dem Komma werden wie zuvor interpretiert. Im Beispiel ist die Zeilennummer der ersten ausführbaren Einheit der zweiten Methode nur vier größer als die letzte für die vorherige Methode berechnete Zeilennummer, daher wird die relative Zeilennummerberechnung nach dem Komma fortgesetzt (,41):
    1. 77 + 4 = die Zeilennummer der ersten ausführbaren Einheit der zweiten Methode: 81
    2. 81 + 1 = die Zeilennummer der zweiten ausführbaren Einheit der zweiten Methode: 82
Hinweis: Nicht allen ausführbaren Einheiten sind Quelleninformationen zugeordnet. Manche werden vom Compiler erstellt, um die Semantik der Java-Sprache zu implementieren: zum Beispiel Behandlung von Ausnahmebedingungen, Initialisierung oder Synchronisation. Diese generierten ausführbaren Einheiten haben eine vollständige Zeilennummer von null in der Zeichenfolge methodLineTables. Eine vollständige Zeilennummer von null zeigt an, dass keine Zeilennummerinformationen zur Verfügung stehen. Wenn eine ganze Methode über keine Quelleninformationen verfügt, wird angezeigt, dass sie eine einzige ausführbare Einheit mit dem Zeilenwert null hat.
Hier sind ein paar weitere Beispiele für methodLineTables-Zeichenfolgen und ihre Bedeutungen:
methodLineTables-Zeichenfolge Bedeutung
+5 Wenn die Zeilennummer der ersten ausführbaren Einheit der ersten Methode kleiner als zehn ist, so beginnt die gesamte Zeichenfolge mit einem Pluszeichen und einer Serie von Berechnungsschritten, die in Zeile null beginnen. In diesem Beispiel beginnt die erste ausführbare Einheit der ersten Methode in Zeile 5.
+0 Wenn die erste Methode keine Quellinformation enthält, so beginnt die Zeichenfolge mit +0. Jedes executableUnit-Testfragment, dass auf eine solche Methode angewendet wird, wird nur einmal, zu Beginn der Methode eingefügt.
...#437,#457+123... Wenn die erste ausführbare Einheit einer Methode mehr als neun Zeilen nach der letzten ausführbaren Einheit der vorherigen Methode beginnt, so wird zunächst ein Komma, dann ein Nummernzeichen und schließlich die Zeichenfolge für die Zeilennummer der ersten ausführbaren Einheit eingesetzt. In diesem Teilbeispiel beginnt die erste ausführbare Einheit der neuen Methode 20 Zeilen nach der letzten ausführbaren Einheit der vorangehenden Methode.
...#437,+2... Es kann vorkommen, dass für die letzte ausführbare Einheit einer Methode die "#"-Schreibweise notig ist, die erste ausführbare Einheit der nächsten Methode aber schon kurz darauf folgt. In diesem Teilbeispiel beginnt die letzte ausführbare Einheit einer Methode in Zeile 437 und die erste ausführbare Einheit der nächsten Methode beginnt in Zeile 439.
Zugehöriger Verweis
Testfragmente