Sto lavorando a un'analisi per i programmi Java che richiede informazioni sugli effetti collaterali sulle chiamate ai metodi. Per le classi di libreria standard, vorrei compilare un elenco di metodi con parametri di sola lettura. Cioè, i metodi che non modificano i loro argomenti o qualsiasi cosa raggiungibile dai loro argomenti. Posso dedurre molto dai javadocs, ma ci vorrà del tempo.Metodi free-side nella libreria standard Java
Qualcuno potrebbe suggerire un riferimento o un metodo più semplice per determinare se le chiamate al metodo standard modificano i loro argomenti? La lettura di ogni voce di javadoc sta davvero nel modo migliore?
Grazie!
MODIFICA: Un bonus sarebbe l'identificazione di metodi che non hanno effetti collaterali sull'oggetto. Ad esempio, stack.pop() dovrebbe invece che stack.size() non lo farebbe.
Sarei interessato a vedere la tua soluzione. Puoi assumere che tutti i metodi che accettano tipi immutabili sono privi di effetti collaterali. Non sei sicuro di cos'altro puoi fare oltre a javadocs e codice. –
@SB: basti ricordare che 'String' è immutabile, ma le classi che implementano' CharSequence' possono o non possono essere. – Powerlord