Fragmentin tietoalkiot ovat tietoalkioiden nimiä ja tyyppejä, joihin fragmentin lähdekoodi voi viitata.
Tietoalkioiden määritys on valinnaista. Fragmentti voi sisältää useita tietoalkioita, mutta kukin tyyppi voi esiintyä vain kerran.
Ominaisuus | Kuvaus |
---|---|
Tietotyyppi | Pakollinen. Käytettävissä olevat tyypit on lueteltu seuraavassa taulukossa. |
Nimi | Pakollinen. Kelvollinen Java-muuttujan nimi on määritettävä. Luotausfragmentin lähdekoodi käyttää tätä nimeä viitatessaan tietoihin. |
Tietotyyppi | type | Kuvaus |
---|---|---|
className | String | Metodiluotauksissa luodatun metodin luokan nimi, myös paketin nimi, sisäisessä muodossa. Callsite-luotauksissa puolestaan kutsutun metodin luokan nimi. Esimerkki: org/eclipse/tptp/SomeClass |
methodName | String | Metodiluotauksissa luodatun metodin metodinimi, sisäisessä muodossa. Callsite-luotauksissa puolestaan kutsutun metodin metodinimi. Konstruktoreilla on metodin nimi <init>, staattisilla luokan aloitustoiminnoilla <clinit>. |
methodSig | String | Metodin argumentti ja palautuslajin allekirjoitus sisäisessä muodossa. Ei kelpaa staticInitializer-fragmenteissa. Esimerkki: (Ljava/lang/String;)I |
thisObject | Object | Luodatulle metodille välitetty this-objekti (esimerkiksi ilmentymän metodit). Ei kelpaa staticInitializer-fragmenteissa. thisObject on tyhjä staattisissa metodeissa, konstruktoreihin käytetyissä entry-fragmenteissa ja konstruktoreihin käytetyissä exit-fragmenteissa, jos konstruktori aiheuttaa poikkeuksen. |
args | Object[] | Objektiviitteiden taulukko, joka kuvaa luodatun metodin argumentteja. Taulukossa on yksi elementti metodin kutakin argumenttia kohden (this-argumenttia ei lasketa mukaan). Argumentit, jotka ovat alkeistyyppejä, on sidottu asianmukaisen viitelajin väliaikaisiin objekteihin, esimerkiksi Integer, jos kyseessä on int. Jos metodiin ei voi määrittää argumentteja, Object[]-taulukon koko on nolla. Huomaa, että muiden kuin staattisten sisäisten luokkien konstruktoreilla on yksi piilotettu argumentti kutakin "sisäistä" tasoa kohden, joten argumenttitaulukko sisältää useampia elementtejä kuin lähdekoodissa on näkyvissä. Ei kelpaa staticInitializer-fragmenteissa. |
returnedObject | Object | Viite palautettavaan objektiin. Tämä tyyppi on käytettävissä vain exit- ja afterCall-fragmenteissa. Jos luodatun metodin palautuksen laji on alkeistyyppi, palautettu arvo on sidottu asianmukaisen viitelajin tilapäiseen objektiin. Jos metodissa on void-määritys (se ei palauta arvoa) tai poistuminen aiheutuu poikkeuksesta, returnedObject-arvo on tyhjä. |
exceptionObject | Throwable | Viite ilmenneeseen poikkeusobjektiin. Tämä tyyppi on käytettävissä vain catch- ja exit-fragmenteissa. Jos metodi poistuu normaalisti, exceptionObject on tyhjä. |
isFinally | boolean | Määrite, joka osoittaa, onko fragmentti kutsuttu finally-lauseesta (true) vai catch-lauseesta (false). Käytettävissä vain catch-fragmenteissa. |
staticField | (vaihtelee) | Objekti, johon staattinen kenttä viittaa. Sen tyyppi on sama kuin staticField-objektissa ilmoitettu. Tämä on kelvollinen vain, jos luotaus ilmoittaa arvon staticField. (Katso kohta staticField- ja staticInitializer-luotausesimerkki.) Ei kelpaa callsite-luotauksissa. |
classSourceFile | String | Luokkatiedoston vianmääritysominaisuuksista käytettävissä olevat lähdetiedoston nimitiedot. Jos lähdetietoja ei ole, classSourceFile on tyhjä. Javassa arvo on yleensä pelkkä tiedoston nimi ilman polkutietoja. Ei kelpaa callsite-luotauksissa. |
methodNames | String | Koodattu luettelo metodien nimistä ja allekirjoituksista. Tämän luettelon metodien järjestys on sama kuin metodien järjestys kohteessa methodLineTables ja sama kuin methodNumber-tietoalkion kuvaama järjestys. Luettelossa ei ole sellaisten metodien nimiä, jotka Probekit on lisännyt luokkaan. methodNames-merkkijono koostuu yhdestä tai useasta metodin nimestä ja allekirjoituksesta, joita erottaa plusmerkki (+). Metodin allekirjoitukset ovat sisäisessä Java-muodossa. Esimerkki: Luokalla, jolla on kaksi metodia, oletusarvoinen konstruktori ja metodin ajo (run), joka ottaa merkkijonon (String) ja palauttaa kokonaisluvun (int), on seuraava methodNames-merkkijono: <init>()V+run(Ljava/lang/String;)I Ei kelpaa callsite-luotauksissa. |
methodLineTables | String | Koodattu rivinumeroiden luettelo, joka vastaa luokan kutakin toteuttavaa koodin yksikköä. Luettelo ei sisällä toteutettavia yksiköitä, jotka Probekit on lisännyt luokkaan. Selitys koodauksesta on methodLineTables-tietomerkkijonomuotoa käsittelevässä kohdassa. Ei kelpaa callsite-luotauksissa. |
methodNumber | Integer | Sen menetelmän hakemistonumero methodNames-taulukossa, johon luotausfragmentti on lisätty. Ei kelpaa callsite-luotauksissa tai staticInitializer-fragmenteissa. |
executableUnitNumber | Integer | Sen toteutettavan yksikön numero, johon luotausfragmentti on lisätty. Tämä tietotyyppi kelpaa vain executableUnit- ja catch-luotausfragmenteissa. Jos metodissa ei ole lähdekooditietoja, siinä näkyy yksi toteutettava yksikkö, jonka numero on nolla. |
Voit kirjoittaa luotausfragmentin tietoalkiot valitsemalla rakenneruudussa Fragmentti-vaihtoehdon ja lisäämällä ja määrittämällä sitten tietoalkiot muokkausruudussa Lisää- ja Määritä-vaihtoehtojen avulla.