Gli elementi dati del frammento sono i nomi e i tipi di elementi dati a cui il codice di origine del frammento fa riferimento.
La specifica degli elementi dati è facoltativa. Un frammento può contenere più elementi dati, ma ciascun tipo di elemento deve apparire una sola volta.
Proprietà | Descrizione |
---|---|
Tipo di dati | Obbligatoria. I tipi disponibili vengono elencati nella tabella riportata di seguito. |
Nome | Obbligatoria. Deve specificare un nome di variabile Java valido. Il codice di origine del frammento probe utilizzerà questo nome per fare riferimento ai dati indicati. |
Tipo di dati | tipo | Descrizione |
---|---|---|
className | String | Per i probe method, il nome della classe del metodo con probe, incluso il nome del pacchetto, in formato interno; per i probe callsite, il nome della classe del metodo richiamato. Esempio: org/eclipse/tptp/SomeClass |
methodName | String | Per i probe method, il nome del metodo con probe in formato interno; per i probe callsite, il nome del metodo del metodo richiamato. I costruttori hanno come nome metodo <init>, e gli inizializzatori delle classi statiche <clinit>. |
methodSig | String | La firma dell'argomento e del tipo restituito del metodo, nel formato interno. Non è valido per i frammenti staticInitializer. Esempio: (Ljava/lang/String;)I |
thisObject | Object | L'oggetto this (per i metodi delle istanze) che è stato passato al metodo con probe. Non è valido per i frammenti staticInitializer. thisObject è null per i metodi statici, per i frammenti entry applicati ai costruttori e per i frammenti exit applicati ai costruttori quando il costruttore genera un'eccezione. |
args | Object[] | Una matrice di riferimenti Object che rappresentano gli argomenti per il metodo con probe. C'è solo un elemento in questa matrice per ciascun argomento del metodo (senza considerare l'argomento this). Gli argomenti di tipo primitivo vengono inclusi in oggetti temporanei di tipo di riferimento appropriato, ad esempio: Integer per int. Se il metodo non accetta argomenti, la dimensione della matrice Object[] è zero. Notare che i costruttori per classi interne non statiche dispongono di un argomento nascosto per ciascun livello "interno"; in tal modo, la matrice di argomenti conterrà più elementi di quanti ne compaiano nel codice di origine. Non è valido per i frammenti staticInitializer. |
returnedObject | Object | Un riferimento all'oggetto da restituire. Questo tipo è disponibile solo nei frammenti exit e afterCall. Se il tipo di ritorno del metodo con probe è un tipo primitivo, il valore restituito viene associato in un oggetto temporaneo del tipo di riferimento appropriato. Se il metodo è void (non restituisce un valore) o se viene terminato da un'eccezione, returnedObject sarà null. |
exceptionObject | Throwable | Un riferimento all'oggetto eccezione da lanciare. Questo è disponibile solo per i frammenti catch e exit. Se il metodo termina normalmente, exceptionObject sarà null. |
isFinally | boolean | Un indicatore che segnala se il frammento è stato richiamato da una proposizione finally (true) o catch (false). È valido solo nei frammenti catch. |
staticField | (varia) | L'oggetto indicato dal campo statico. Il tipo di questo oggetto è lo stesso tipo che è stato dichiarato nell'oggetto staticField. Valido solo se il probe dichiara un staticField. Vedere la sezione Esempio probe staticField e staticInitializer.) Non è valido per i probe callsite. |
classSourceFile | String | Le informazioni sul nome del file di origine disponibili dagli attributi di debug del file di classe. Se non vi sono informazioni di origine, classSourceFile sarà null. In Java, questo valore corrisponde solitamente al solo nome del file, senza informazioni sul percorso. Non è valido per i probe callsite. |
methodNames | String | Un elenco codificato di nomi e di firme di metodi. L'ordine in base al quale i metodi vengono elencati è lo stesso riportato sia in methodLineTables che dall'elemento di dati methodNumber. L'elenco non include i nomi dei metodi inseriti nella classe da Probekit. La stringa methodNames è costituita da uno o più nomi e firme di metodi, separati da un segno più ("+"). Le firme dei metodi sono nel formato interno Java. Ad esempio, una classe con due metodi, un costruttore predefinito e un metodo run che accetta un tipo String e restituisce un tipo int, conterrà la seguente stringa methodNames: <init>()V+run(Ljava/lang/String;)I Non è valido per i probe callsite. |
methodLineTables | String | Un elenco codificato di numeri di riga che corrispondono a ciascuna unità eseguibile di codice presente nella classe. L'elenco non include le unità eseguibili inserite nella classe da Probekit. Per ulteriori chiarimenti sulla codifica, consultare la sezione Formato stringa dati methodLineTables. Non è valido per i probe callsite. |
methodNumber | Integer | Il numero di indice nella tabella methodNames per il metodo in cui il frammento probe è stato inserito. Non è valido né per i probe callsite né per i frammenti staticInitializer. |
executableUnitNumber | Integer | Il numero delle unità eseguibili in cui è stato inserito il frammento probe. Questo tipo di dati è valido solo per i frammenti probe executableUnit e catch. Se il metodo non dispone di informazioni sulle righe del codice di origine, sembrerà contenere una singola unità eseguibile, di numero zero. |
Per immettere elementi dati di frammento probe, selezionare Frammento nel riquadro della struttura al albero, quindi utilizzare Aggiungi e Modifica per immettere e definire i dati nel riquadro di modifica.