Formato della stringa methodLineTables

La stringa di dati methodLineTables codifica una tabella con una voce per ogni unità eseguibile in una classe.

Il valore di ciascuna voce nella tabella methodLineTables corrisponde al numero di riga nel file origine al quale si fa riferimento mediante la stringa di dati classSourceFile, il numero di riga di origine di un'unità eseguibile.

Di seguito viene riportato un esempio di stringa methodLineTables:
#51+1201#75+11,41
Di seguito viene spiegato come interpretare la stringa:
  • Le cifre immediatamente seguenti il segno di numero ("#") rappresentano un numero di riga completo nel codice di origine per una classe. Nell'esempio, la prima unità eseguibile nel primo metodo nella classe si trova sulla riga 51.
  • Ciascuna singola cifra successiva al segno più ("+") rappresenta il numero di righe da aggiungere al numero di riga precedente per produrre il numero di riga per l'unità eseguibile successiva. Nell'esempio, le cifre che seguono il segno più (+1201) vengono utilizzate per calcolare i numeri di riga per la seconda unità fino alla quinta unità eseguibile:
    1. 51 + 1 = il numero di riga della seconda unità eseguibile: 52
    2. 52 + 2 = il numero della terza unità eseguibile: 54
    3. 54 + 0 = il numero di riga della quarta unità eseguibile: 54 (due unità eseguibili su una riga di origine)
    4. 54 + 1 = il numero di riga della quinta unità eseguibile: 55
  • Quando l'incremento del numero di riga è negativo o maggiore di nove, viene specificato il numero di riga completo per l'unità eseguibile. Nell'esempio, la sesta unità eseguibile si trova sulla riga 75, maggiore di venti rispetto al numero di riga precedente, che era 55. In questo caso, il numero di riga completo è specificato per la sesta unità eseguibile ed il relativo calcolo del numero di riga ricomincia (#75+11):
    1. 75 = il numero di riga della sesta unità eseguibile
    2. 75 + 1 = il numero di riga della settima unità eseguibile: 76
    3. 76 + 1 = il numero di riga dell'ottava unità eseguibile: 77
  • La virgola (",") indica la fine di un metodo e l'inizio del testo. Le cifre ed i simboli che seguono la virgola vengono interpretati come spiegato in precedenza. Nell'esempio, il numero di riga della prima unità eseguibile del secondo metodo è maggiore solo di 4 rispetto all'ultimo numero di riga calcolato per il metodo precedente, quindi il relativo calcolo dei numeri di riga continua dopo la virgola (,41):
    1. 77 + 4 = il numero di riga della prima unità eseguibile del secondo metodo: 81
    2. 88 + 1 = il numero di riga della seconda unità eseguibile del secondo metodo: 89
Nota: Non tutte le unità eseguibili dispongono di informazioni di origine ad esse associate. Alcune vengono create dal compilatore per implementare la semantica del linguaggio Java; ad esempio, gestione delle eccezioni, inizializzazione o sincronizzazione. Queste unità eseguibili generate disporranno del numero di riga completo zero nella stringa methodLineTables. Tale numero indica che non sono disponibili informazioni sul numero di riga. Se un intero metodo non dispone di informazioni di origine, questo avrà una singola unità eseguibile corrispondente al numero di riga zero.
Di seguito sono riportati alcuni esempi di stringe methodLineTables ed i relativi significati:
Stringa methodLineTables Significato
+5 Se il numero di riga della prima unità eseguibile del primo metodo è inferiore a dieci, l'intera stringa inizia con il segno più per iniziare una serie di incrementi dalla riga zero. In questo esempio, la prima unità eseguibile del primo metodo inizia dalla riga 5.
+0 Se il primo metodo non dispone di informazioni di origine, la stringa inizierà con +0. Qualsiasi frammento di analisi executableUnit che viene applicato al metodo verrà inserito solo una volta, all'inizio del metodo.
...#437,#457+123... Se la prima unità eseguibile per un metodo inizia oltre nove righe dopo l'ultima unità eseguibile per il metodo precedente, il modello è una virgola, un segno di numero e la stringa del numero di riga per la prima unità eseguibile nel nuovo metodo. In questo esempio parziale, la prima unità eseguibile nel nuovo metodo inizia 20 righe dopo l'ultima unità eseguibile del metodo precedente.
...#437,+2... È possibile che l'ultima unità eseguibile di un metodo richieda la notazione "#" e che la prima unità eseguibile del metodo successivo sia ad una distanza estremamente ridotta. In questo esempio parziale, l'ultima unità eseguibile di un metodo inizia a riga 437 e la prima unità eseguibile del metodo successivo inizia a riga 439.

Argomento principale: Riferimento elemento Probekit

Riferimenti correlati
Oggetto di analisi Data

Clausole di utilizzo | Commenti
(C) Copyright IBM Corporation 2000, 2004. Tutti i diritti riservati.