A methodLineTables adat karaktersorozat formátum

A methodLineTables adat-karaktersorozat az oszály minden egyes végrehajtható egysége számára egy-egy bejegyzést tartalmazó táblázat kódolását tartalmazza.

A methodLineTables táblázat bejegyzéseinek értéke a megegyező végrehajtható egység sorának száma (a classSourceFile adat karaktersorozatban megnevezett forrásfájlban). Például a táblázat ötödik bejegyzése az ötödik végrehajtható egység sorának számát adja meg.

Egy példa a methodLineTables karaktersorozatra:
#51+1201#75+11,41
A karaktersorozat értelmezésének módja:
  • A kettőskereszt ("#") jelet követő számjegyek a forráskódban egy sor teljes számát ábrázolják egy osztály számára. A példában az első metódus első végrehajtható egysége az osztályban az 51. sorban található.
  • Minden plusz ("+") jelet követő számjegy azt az értéket képviseli, amit az előző sor számához hozzá kell adni a következő végrehajtható egység sorának számának előállításához. A példában a plusz jelet követő számjegyek (+1201) a másodiktól az ötödik végrehajtható egység sorának számának kiszámításához kerülnek felhasználásra:
    1. 51 + 1 = a második végrehajtható egység sorának száma: 52
    2. 52 + 2 = a harmadik végrehajtható egység sorának száma: 54
    3. 54 + 0 = a negyedik végrehajtható egység sorának száma: 54 (a forrás egy sorában két végrehajtható egység található)
    4. 54 + 1 = az ötödik végrehajtható egység sorának száma: 55
  • Negatív vagy kilencnél nagyobb sornövelés esetén a végrehajtható egység teljes sor száma kerül megadásra. A példában a hatodik végrehajtható egység a 75. sorban található, hússzal nagyobb a sorának száma az előzőnél, ami 55 volt. Ebben az esetben a hatodik végrehajtható egység sorának teljes száma kerül megadásra, és a relatív számítás újrakezdődik (#75+11):
    1. 75 = A hatodik végrehajtható egység sorának száma
    2. 75 + 1 = a hetedik végrehajtható egység sorának száma: 76
    3. 76 + 1 = a nyolcadik végrehajtható egység sorának száma: 77
  • A vessző (",") egy metódus végét és a következő kezdetét jelöli. A vesszőt követő számjegyek és szimbólumok az előbbiek alapján kerülnek értelmezésre. A példában a második metódus első végrehajtható egységének sorának száma csak néggyel nagyobb az előző metódus utolsó sorának számától, így a vessző után relatív számítás következik (,41):
    1. 77 + 4 = a második metódus első végrehajtható egységének sorának száma: 81
    2. 81 + 1 = a második metódus második végrehajtható egységének sorának száma: 82
Megjegyzés: Nem minden végrehajtható egységhez tartoznak forrás információk. Némelyiket a fordító hozza létre a Java nyelv szemantikájának megvalósításához (pl.: kivételkezelés, inicializálás vagy szinkronizálás). Ezen előállított végrehajtható egységek sorának teljes száma nullaként fog megjelenni a methodLineTables karaktersorozatban. A sor nulla értékű teljes száma azt jelenti, hogy a sorok számához nem érhetők el információk. Ha egy teljes metódushoz nem tartoznak forrás információk, akkor ez egyetlen végrehajtható egységként jelenik meg, amely sorának száma nulla.
További példák a methodLineTables karaktersorozatokkal és azok jelentésével kapcsolatosan:
methodLineTables karaktersorozat Jelentés
+5 Ha az első metódus első végrehajtható egységének sorának száma tíznél kisebb, akkor az egész karaktersorozat egy plusz jellel kezdődik a növelési sorozat nulláról indításával. Ezen példában az első metódus első végrehajtható egysége az 5. sorban kezdődik.
+0 Ha az első metódushoz nem tartoznak forrás információk, akkor a karaktersorozat a +0 jelöléssel kezdődik. Az ilyen metódusra vonatkozó executableUnit vizsgáló töredék csak egyszer kerül beszúrásra a metódus elején.
...#437,#457+123... Ha egy metódus első végrehajtható egysége több, mint kilenc sorral az előző metódus utolsó végrehajtható egysége után kezdődik, akkor a minta egy vessző, egy kettőskereszt és az új metódus első végrehajtható egységének sorának száma. Ezen részleges példában az új metódus első végrehajtható egysége az előző metódus utolsó végrehajtható egysége után 20 sorral kezdődik.
...#437,+2... Lehetséges egy metódus utolsó végrehajtható egysége esetén a "#" jelölés, ha a következő metódus első végrehajtható egysége kis távolságban van. Ezen részleges példában egy metódus utolsó végrehajtható egysége a 437., a következő metódus első végrehajtható egysége a 439. sorban kezdődik.
Kapcsolódó leírások
Vizsgálótöredékek